I would like to acknowledge the following folks who helped me with the program.
Thank you to everyone who helped with this project.
Thank you for using JJFlexRadio. This program is used to monitor and control Flex Radio's amateur radio equipment. It is primarily designed for use by blind amateur radio operators.
JJFlexRadio is optimized for use with a braille display, preferably one with at least 40 cells. I originally wrote this program because I do not like listening to a speech synthecizer while trying to listen to the radio! With the program, I am able to turn my synthecizer off, and just use the braille display to monitor the rig and do the logging.
Note that JJFlexRadio does not use braille or speech directly, rather it relies on your screen reader to manage those devices.
The Pan Adapter function of JJFlexRadio really requires a braille display, and will not work well with speech.
A Flex radio is a radio transceiver produced by Flex Radio Systems. This program currently supports only the 6000 series systems.
Flex produces software defined radios, SDRs. An SDR works by digitizing the supported radio frequency spectrum, and then breaking it up into useable "slices". For example, consider a receiver on 20 meters at 14.200 USB. The receiver is receiving a slice of the radio spectrum at 14.200 KHz, with the low filter set to something like 100 KHz, and the high filter set to perhaps 2800 KHz. Thus the width of this slice is 2700 KHz. We refer to this as a "slice". Think of a receiver as defining a slice out of the radio spectrum.
The number of slices a radio can have depends upon the radio model. The Flex 6300 and 6400 radios support 2 slices, the 6500 and 6600 have 4 slices, and the 6700 has 8 slices. Any number of slices can be received at a time, (e.g.) you could listen to a net on 20 meters, and a local AM radio station simultaneously.
Another term you might run across is a spectral capture unit, SCU. This is the component that digitizes the spectrum. While most Flex radios only have one SCU, higher end rigs, such as the 6600 and 6700 have 2 SCUs, and allow you to, for example, have something known as diversity reception. This allows you to use 2 receive antennas at once, which helps mitigate conditions like QSB, or fading, since QSB is usually caused by signals changing polarization. At present, JJFlexRadio doesn't support diversity reception.'
When JJFlexRadio starts up for the first time, you'll see a welcome screen. From here you can read the documentation, configure JJFlexRadio, import a previously saved JJFlexRadio configuration, or exit. If you exit JJFlexRadio without configuring it, you'll see the Welcome screen again when you next run the program. It is recommended that you read the documentation first, but then you're doing that now.
Use the "Import JJFlexRadio Configuration" item to import a previously saved JJFlexRadio setup, see Moving to another computer. When the import is complete, you will be able to select your radio as you did on the other computer.
The rest of this discussion assumes you're configuring a new instance of the program.
When you configure JJFlexRadio, you will be asked to enter some information about yourself and optionally your log file. This information defines an operator. If, for example, you're in a household with multiple hams, each person will likely want his or her own log file.
The first screen asks for your full name, handle, QTH, and log file. For your QTH, something like "City, ST" is recommended, e.g. "Austin, TX", without the quotes. The QTH should be what you'd send for your QTH on CW.
You are then asked for your license class. This may be none, novice, technition, general, advanced or extra.
Following this is a button entitled "Log Characteristics". You can press this to specify a log file and its characteristics, or you can elect to wait til later. Log characteristics is discussed later in the section on log characteristics.
Following this, you can specify your braille display size in cells.
You may then enter the address and login name for your preferred DX cluster. This is discussed later under DX Cluster.
Leave the "Default Operator button checked, and press the Add button. You have just defined the default operator. You will now be taken to the Rig Selector screen.
Flex radios connect over a network. This may be a local area network, a LAN, or the internet, known as a wide area network, WAN, and may contain multiple rigs. It may even be a network composed of your computer and the radio, if the rig is plugged into your computer using an ethernet cable, for example. Note that if connecting to a radio over the internet, you must provide a userID and password for authentication.
The rig selector allows you to select the radio you wish to use. It can also be brought up from the Actions menu. When it first comes up, you are shown the list of radios, if any, available on your local area network, LAN.
If you want to use a radio over the internet, the WAN, it must have previously been setup using SmartSDR's setup procedure. You might find it helpful to have sighted assistance for this. There is one test step, if you choose to do it, where you must look for a green light. Apart from that, you can likely manage it without assistance. Anyway, when you press the "Remote" button, if you're not logged in, you'll need to enter your login credentials. Note that there is a "Login" button following the Remote button, that'll force a login. You may use this if you need to log back in after a logout, or log into a different account.
Connect with either the "Connect" button, or by simply hitting Enter when the rig is selected, or from the context menu for the selected rig. The context menu is brought up with a right mouse click or shift-F10. You may also choose the LowBW button for a low bandwidth connection.
If you don't want to select a radio at this time, you may just hit escape to use other JJFlexRadio functions, such as logging.
You may also, using the selected rig's context menu, specify that a radio is automatically connected when JJFlexRadio comes up, and the radio is available. If the context menu has an "Auto connect on" item, that radio can be auto-connected. For the radio that is currently auto-connected, if any, the menu item will be "Auto connect off". You'll see this only if the rig selector is brought up after the program is started.
For example, if you indicate a radio is to be auto-connected, this will take effect when the program is subsequently started, (i.e.) auto-connect only happens when the program is brought up. If the radio is on a remote network, on the WAN as opposed to your LAN, you'll need to click the remote button to have it auto-connected. If you again bring up the rig selector, from the Actions menu, you can then turn auto-connect off for that radio if you wish. You may designate a radio to be auto-connected from the initial rig selector, or from a subsequent selector. Only one radio can be auto-connected.
This discussion assumes a radio is connected.
The main window is composed of several fields. There are however 5 main fields. The first is the meter and frequency display. The second is the operating mode, (e.g.) USB. This is followed by several fields which largely depend upon the mode, although some are always there. These are discussed in somewhat more detail in the Other screen fields section.
Finally there are always three fields present at the bottom, "receive text", "sent text", and "status".
The "received text" field is currently unused.
When in CW mode, typing text into the "sent text" field will send the characters.
The last field is a "status" field.
Currently it shows:
pwr: on/off
Memories: # of memories
scan: off/running/paused
Knob: on/off/locked (FlexControl Knob)
log: log file name
There are some predefined keyboard commands that make it easier to navigate the main window.
The meter and frequency display is the first item on the main window, and where you'll want to be focused on for most operation. It is actually one text box, so it shows up as one field, and works very well with a 40-cell braille display. It is good to learn this display, as information is maximized, and there are no field prompts or headers.
I'll begin by just showing some typical output, and describing the information shown. Then I'll go into detail about the various fields.
Sm 7 0 7.028.420 rrrr xxxx
This shows the rig on 7.028420 MHz, or 7028.420 KHz, however you prefer to think of it. The format of the frequency is mm.kkk.hhh, where m is the MHz, megahertz, value, k is the KHz, kilohertz value, and h is the Hz, Hertz value. Note that the frequency is front and center, so to speak.
Over on the left side of the display are 2, 4, or 8 characters that show the disposition of the slices, or receivers, see Controling the Slices, the next section. I'll just say here that the "SM" tells us that the first slice is sounding, and the other one is muted. The reason there are 2 characters is because this radio has 2 slices, so it's a 6300 or 6400 radio.
Moving to the right, we see a "7". This is the s-meter reading, so I've got a pretty good noise level.
Also, if I hit the tab key, I'll show the mode as CW.
Sm 7 0 7.028.420 +0040 xxxx
This is the same as above, except now the RIT is on, and set to +40 hz.
sM 7 0 7.028.420 rrrr -0040
Here the XIT is on and set to -40. Also, the 'M', cap M, indicates that slice 1 is the transmit slice.
Sm +10 m 1 7.200.000 rrrr xxxx
Here we have an "M" in place of the slice number, which indicates a memory channel is active. In fact, it's channel 1, the second memory, at 7.2 MHZ.
Also note the s-meter is "+10", which means s9 plus 10.
Sm 8 V0 7.200.000 rrrr xxxx
Now we've set slice 0 to 7200 KHz, and we've turned on the Vox! Thus the "V". It's very important to note when the Vox is on, especially on LSB, which is our mode as I can tell by tabbing to the mode.
sS 7SV0 7.200.000 rrrr xxxx
Now here, not only is the Vox enabled, but the slices are Split, note the "S" immediately to the right of the s-meter, and right before the "V". Slice 1 is the transmit slice, note the "sS" on the left. Ok, I'll admit it, I've accidentally transmitted on an unintended frequency, because I didn't pay enough attention to whether or not my VFOs were split. JJFlexRadio puts that right under your finger tips. Also notice that slice 1 isn't muted.
Now let's turn off Vox and Split.
Sm 7 0 7.200.000 rrrr xxxx
NOTE: If you're using JAWS 14 through 17, you will need to uncheck "Enhanced Edit Support" to get the continuous frequency display to work. Versions prior to 14, and after 17, don't have this problem. To uncheck this, use JAWSKEY-F2 and select "Settings Center". Search for the word "Enhanced", and uncheck "Enhanced Edit Mode".
And, here's a radio with 4 slices, a 6500 or 6600.
Smmm 7 0 7.200.000 rrrr xxxx
Think of a slice as a separate receiver. It's similar to having multiple VFOs, (e.g.) A and B, but it's truely multiple receivers. In fact, you may actually listen to all of them at once, although you'll likely not do that. A slice's audio may be manipulated using the cells at the very left of the frequency display. For each slice your radio has, there will be a corresponding 's' or 'm' on the left of the display, 's' for sounding, and 'm' for muted. You may toggle the sounding/muted state of a slice with the space bar, or specify it directly by pressing 's' or 'm'. You can make a slice the active slice, the receive slice, by pressing the letter 'a'. 't' makes it the transmit slice, and 'x' assigns both the active and transmit slices, (i.e.) transceive mode. Note that when the transmit and receive, or active, slices are different, this is known as Split mode. Also note that the transmit slice is shown with an uppercase 'S' or 'M'.
Also, if only one slice is sounding, it becomes the active slice.
A ".", period, indicates that this slice is free, see the section on rig sharing.
A "-", dash, indicates this slice is in use by another station, see the section on rig sharing.
A "\", backslash, for the transmit VFO indicates someone is transmitting, see the section on rig sharing.
Now for the cool stuff you can do from the keyboard. I'll admit this is easier with a braille display. I can use the cursor routing with my Pacmate 40 display.
First, place the cursor on a digit of the frequency, and use the up and down arrow keys to change it. For example, if you were on 7200 KHz, and place your cursor on the right-most KHZ digit, and cursor down 5 times, you'll be on 7.195. If you place your cursor on the 7, the MHZ digit, and cursor up once, you'll be on 8.200.
Note that you can't change the frequency from the keyboard if transmitting.
You may also place your cursor on a digit and enter a digit, 1 through 9, from the keyboard. This will, by default, add that digit to the frequency according to the cursor placement. For example, if you're focused on the KHz digit, and enter a 5, 5 KHz will be added to the frequency. If you enter a minus sign, then the subsequent entries are subtracted, until you enter a plus sign.
If however you're in split VFO mode, the value applies to the transmit VFO. This is very handy for instantly setting your transmit VFO 2 KHz above the receive VFO, for example.
Ok, go back to 7.200 please.
Now place your cursor on the 0 that stands alone to the right of the S-meter reading. This indicates we're using slice 0. Press the up arrow, cursor up, and notice you switch to the next slice. Assuming you have two slices, you'll get back to slice 0 on the next press. You can also change using the down arrow key.
Also note that the switched-to slice is unmuted, and generally the other slice is now muted. For example:
mS 7 1 7.230.000 rrrr xxxx
Press the down arrow to go back to slice 0.
Now press the "M". If memories have been setup, you should now be in memory mode. In my case, it'll be on memory 1 at 7.200.
Now place your cursor on the memory number, and go through the memories with your arrow keys.
Now place your cursor back on the "M", and hit the "V" key. This will switch out of memory mode.
Placing the cursor over the RIT (r) or XIT (x) fields and hitting space activates the RIT or XIT. The cursor up and down keys work here like they do in the frequency field.
Here's the list of fields that have associated key functions:
Important: It is possible to make a slice the active or transceive slice while it is muted. Make sure you're listening to the correct slice!
Note you can also copy one slice to another. To copy slice 0 to slice 1, place your cursor on the character corresponding to slice 0, the left-most character. When you press a '1', one, slice 0 is copied to slice 1.
Note that you may wish to hear both slices when in split mode. In fact, JJFlexRadio will automatically turn on the sound for the transmit slice.
Note that from the frequency you can go into and out of split mode, and view the receive or transmit frequency.
Note that RIT and XIT are in HZ.
If focused on the RIT, use the = (equal sign) to set the XIT to the RIT frequency and clear the RIT. This comes in handy when you are, for example, trying to work a DX station that's not using split frequencies, but he's working a station not exactly on his frequency.
Hopefully this has given you a good sense of the main frequency display. Remember, Windows considers this as one field. Thus tab will move to the next field, the mode.
If you tab to the field following the main frequency display, you'll be at the Mode field. This shows the operating mode, and the mode can be changed with the arrow keys.
The next one or two fields are for antenna tuning. If your radio has the ATU unit, the first field indicates whether the tuner is active, and the second one starts tuning. If you don't have the ATU feature, there is just one field to start tuning. If using the ATU, tuning will stop automatically when a match is found or the tuner gives up. If not using the ATU, you must press the button again to stop tuning. In this case, while tuning, the SWR is shown, and is shown until you exit the field, so you can easily see what SWR you ended up with. Many of the following fields are modified using the arrow keys. I won't discuss each field in detail here, because they're somewhat rig dependent. It is certainly worth mentioning though that many of the fields that follow the mode are themselves mode dependent, and only fields relevant to the current mode are shown. Also, it is possible to access most of these fields using the Screen Fields menu.
Many fields can be changed with the up and down arrow keys. The change increment is field dependent. Also, many numeric fields may be entered directly. For example, you can enter a keyer speed of 17, for 17 wpm, rather than having to arrow to the desired values. Some fields however, which are not numeric, or have specific values that are not necessarily liniar,must be selected with the arrow keys.
If your Flex has an ATU, automatic tuner unit, you'll see the Tuner field which can be "true" or "false", indicating whether you want to use the internal ATU, or an external tuner. I recommend that you always use one or the other, the ATU or an external tuner. Note that you'll need to use an external tuner if using an amplifier. If you've were using the internal ATU when you last shut down JJFlexRadio, this field will be "true" when you bring it up again. Also, if using the ATU, the Ant Tune button will show the tuner status, or tell you if a memory is in use. If the button's text shows "Ant tune", no memory is in use for this frequency. If one is in use, the value will show "Ant tune mem". If bypassing the ATU (i.e.) using an external tuner, during and after tuning, the button will show you the current SWR.
There is a dialog for managing the Flex ATU memories. The dialog is called "Tuner memories", and is accessed from the Operations menu. It allows you to turn tuner memories on or off, and to clear all the memories. If using an external tuner, turn tuner memories off.
The Flex radios don't use menus, but some of the screen fields are buttons that may bring up dialogues. Some fields to note are:
Unfortunately, this doesn't work for remote radios, (i.e.) those on the internet as opposed to your LAN.
For the selected TNF, you can then change the width in HZ, the depth, 1, 2, or 3, and whether the TNF is permanent. If TNFs are turned on, and they are by default, You will be able to hear the effect of any changes you make to a TNF immediately. Also, unless you make a TNF permanent, it will be deleted when the radio is powered off.
Flex memories differ from most other rigs, because they are completely dynamic, and there is not a fixed number of them. For example, for the Kenwood radios, memory 10 exists, whether or not it is empty. There are a fixed number of memories. For the Flex radios, a memory is simply an item on a list of memories. This list contains only used, or non-empty, memories.
When you bring up the flex memories dialogue, you are in a list of the available memories. This list is sorted by memory group and name, or frequency if unnamed. If you've selected a memory in this list, and then press enter, you are taken to that memory.
The values stored for a memory by JJFlexRadio are, frequency, mode, Low, High, Power, Name, Owner, and Group. In addition, for FM modes you can set the tone mode, off or CTCSS; tone frequency; squelch, on or off; squelch level; offset direction, off, minus or off; and the offset in KHZ.
To add a memory, first set the radio with the values you want, then bring up the memories dialogue and click the add button. For example, to add a 6-meter FM repeater at 53.670 you might:
To set the name or group, enter the value you want, and then either leave the field with the tab key, or press Enter. This also applies to most of the other fields. Some fields, such as the mode, tone mode, and tone frequency, you just set with the arrow keys.
By default, the Name and Group are blank. Note that at present, the Owner field isn't used by JJFlexRadio, but it is preserved. The Name and group fields are used to position the memory in the list. Memories with the same group name appear together, sorted by name.
If you put an "m" in the VFO field of the frequency display, the radio enters memory mode. The number shown as the memory channel is really the index of the current memory within the memory sort order. Arrowing up and down with the cursor positioned on this memory number will move up and down through the sort order. Note that the Flex radios don't have a memory mode as such. The current slice is set to the selected memory.
Starting with version 3, you can share your radio with one other user. To do that, you need to free up at least one slice. When JJFlexRadio comes up, you are given all available slices on the radio. If, for example, your radio has 4 slices, you'll see "Smmm" on the left initially. If you want to share your radio, you must free up at least one of the slices. You do this by moving your cursor onto the letter for the slice to free, and pressing a '.', period. Then you'll see "Smm." on the left. If you then free another slice, you'll see "Sm..". Note that you cannot free either the active or transmit slices.
Now let's assume you've freed 2 slices on your 4-slice radio such as a 6500 or 6600. When your friend gets on your radio, your friend will see "Sm--", and you'll see "Sm--", where the dashes indicate that another user has those slices. We refer to an instance of an operator connected to a radio as a station, so we'll say you are KE5AL, and your friend is WA0LKM. Here are some things to note:
Profiles are used to save and restore a radio's configuration. There is a thorough discussion of profiles in section 18 of the SmartSDR Users Guide for version 3. There are currently 4 types of profiles, display, global, mic, and tx, however only the last 3 are currently used, (i.e.) not the display profiles.
From the documentation:
There are three types of profiles: GLOBAL, TRANSMIT and MIC. Global profiles store the state of
the radio including the Panadapters and Slices that are open, the mode associated with each slice
and all the settings for noise blankers, AGC, filters, etc. This can be thought of as a snapshot in
time. Transmit profiles save the transmitter power level, tune power level, transverter power level
and the various transmitter delay parameters. MIC profiles save a configuration for a specific
microphone or audio source, including the TX filter settings, the MIC selection and level and the
DEXP, PROC, DAX, VOX and EQ settings. Both Transmit and MIC profiles are automatically saved
when the related controls are changed.
Use the "Manage Profiles" Actions menu item to add a new profile, update an existing profile, delete a profile, select a profile and to save a global profile. You can also designate one profile of each type, global, mic and tx, to be a default profile, selected automatically when a radio is selected. The profiles are stored on a per-user basis, so if you want different sets of profiles, you'll need to have each one under a separate user.'
The profiles are shown in a list as follows:
After the list of profiles are some buttons.
JJFlexRadio creates a global profile for you automatically, named JJRadioDefault. Let's say, for example, you have a rig with two slices. When JJFlexRadio comes up you want one slice to be on 40 meter LSB, and the other one on 20 meter USB. Setup your radio to the desired configuration which also includes such items as AGC and AGC Level, and then use the "Manage Profiles" item and save the selected global profile.
You can also add your own profiles to setup your rig as you want. Given the situation described in the previous paragraph, you might want another global profile for 40 and 20 meter CW. Create a new profile, perhaps named 40m20mCW. Setup your rig with a slice on 40 CW and the other on 20 CW. Make sure items such as AGC are set as you desire. Now go to the Manage Profiles screen and select the 40m20mCW profile, and click the "Save" button. Now you can "Select" this profile to work 40 or 20 CW.
For example, I have a global profile called "AM broadcast". This profile sets the mode to AM, and my slices to A.M. frequencies of interest. Thus, when I select this profile, my rig goes to the a.m. band. I also have an amplifier, and when I use it I don't want the rig to use the full 100 watts. Running barefoot, I use the rig's Default tx profile, which is simply named "Default." I've also created a tx profile which I named "Amp." The Amp profile sets my output to different values on each band to keep the amp under control.
Note that TX and Mic profiles are changed when you change an associated item; you don't use the "Save" button with these profiles. Thus to change a TX or Mic profile, first select the profile, then set the rig's value of interest.
If you just type characters into the Sent Text field, and cw breakin, the VOX, is on, the text will be sent. Note that the text is sent only after you enter a space, or a predefined CW message.
From within the Sent Text field you may:
JJFlexRadio allows you to do your logging with the same program you use to monitor your rig. It is good to become familiar with the keystrokes used to log information, and the behavior of the log window in general, before attempting to use it. Once you're familiar with the logging, you can just turn off the speech from your screen reader and use the braille display.
JJFlexRadio's logging can be modified to fit a particular logging situation. For example, there is a different log form for Field Day logging than for general purpose logging. These log formats are predefined.
This dialogue is used to specify the log file and its properties. The first thing is the log file name. You can specify a log pathname, use the Browse button that follows the name, or choose from the four most recently used log files using the Files menu, Alt-F. The default file extention for the log file is .jrl. While the log file format is unique to JJFlexRadio, the log can be exported to, and imported from, an .adif file.
Next you specify the form name. This is the name of a predefined log format. The log format we'll discuss here is the DefaultLog.
The reason for different log forms is to tailor the logging to the activity being logged. For example, you don't need to log signal reports, QTH, and name for field day, rather you log the call, class, and ARRL section. Other log forms will be added in the future.
You can then select one of four types of duplicate checking. The types are none, justCall, callAndBand, or callAndBandAndMode. If you specify something other than none, the information in the current log entry is checked for a previous duplicate entry containing the fields mentioned. If, for example, the duplicate method is justCall, and you enter the call of a station you've worked previously, a beep sounds when you leave the call field. The #QSOs field in the log entry shows the number of prior contacts you've made with that station. This is not only useful for contesting, but also lets you know when you've contacted a station you've worked before.
Next is a field where you can specify the first serial number in the log. The default is 1.
Following the first serial field is a field that allows you to specify whether or not to lookup operator information from hamqth.com; the default is "No". The operator's information is placed into the pertinent fields in the log when you exit the Call field. For example, if you enter "ke5al" while creating a new log entry, when you exit the Call field, the QTH, Handle, and country fields are primed with KE5AL's QTH, Handle and country information.
The log window can be brought up with key sequences, and brought down immediately with either the Enter or Escape key. If you exit the window with the escape key, any new information you entered is discarded. If you use the Enter key, the new information is remembered, but not logged yet. The exception to this is the Comments field, where the Enter key adds a new line. It is important to note that an entry isn't logged until you use the "Write Log Entry" key, set by default to ctrl-W.
For example, if you've just come to the log form to enter the QTH, and you know it's wrong and want to start over, you can hit Escape, and come back to it when the station is repeating it. However, if you've entered other information and use Escape, that will need to be re-entered too, so be careful here. Remember, unless in the Comments field, pressing enter leaves the form, remembers the information, but doesn't log it. If you're in the Comments field, hit Tab to leave the field and then press Enter.
Field formats aren't checked, so you can enter anything into any field, except for Tab and Enter. Enter behaves as described, and Tab takes you to the next field. You can also enter the key sequences to go to other log fields, or perform some log actions. For example, you can jump from the Callsign field to the Comment field if you wish.
You use a key sequence to go to a log field or perform selected log actions. If you're at the main window, the log window is brought up and you're positioned in the desired field. If you're already in the log window, you simply jump to the desired field.
You can also perform selected logging actions such as to write the current entry.Let's go through a typical QSO, showing the default keys used to log information. You can change these key sequences if you wish.
You can search for information in the log with ctrl-shift-F by default. If you were at the main window, you are placed in a blank log form, and you need to enter the information in the appropriate field. For example, if you want to look up a callsign, put it in the callsign field, which you can jump to with alt-C by default. The results are displayed in a list form, and you can select the desired item. You are then placed in the log form for that QSO.
If you are logging a station that you've worked before, and focused on the log form, ctrl-shift-F will search for that call. You will be placed in the list of previous logged QSOs. Note however the search from within the log form only searches if the entry has been identified as a dup. Thus if you're not dup checking, it won't function.
If you've downloaded an LOTW report from the ARRL's LOTW website, and merged it with your log, see the LOTW Merge Action menu item, you can view some log statistics with this feature, ctrl-shift-T by default. The currently supported stats are U.S. oriented. When you enter ctrl-shift-T, you're taken to a locally generated web page which shows the stats.
Currently there are four menus as described below.
The Actions menu currently consists of the following items:
You have the capability of having multiple operators. JJFlexRadio uses the default operator when first brought up. You can use this dialogue to change the current operator.
You may also use this dialogue to add another operator by clicking the "New" button.
You may update an operator's information by selecting that operator and clicking the "Update" button. Similarly you may delete an operator.
When done, click "Finished or hit escape.
This allows you to show and perhaps change the current rig. See the section on the Rig Selector.
See the section entitled Profiles and Profile Management.
This is used to indicate that this instance of the program should have the local PTT, (i.e.) the key and mic button. You might use this if you're the second user on the local LAN, but are actually at the rig.
This shows the connected stations.
Used to configure the FlexControl Knob, see The FlexControl knob.
see External Wattmeter Support.
Contains the logging functions formerly on the Actions menu.
This is used to specify information about the logfile, see the section on log characteristics.
This will import an ADIF file into the current log. It is important to note that the log is replaced by the entries in the ADIF file. Thus this would normally be used on an empty log.
This exports the current log to an ADIF file.
This allows you to merge a report into your log that you've downloaded from the ARRL Logbook of the World website. The downloaded report is in ADIF format. Once you've downloaded the report, you select the "LOTW Merge" item to merge it with your current log, by providing the name of the file you just downloaded. See the section on Log Statistics.
This is used to export this JJFlexRadio setup to a file so it may be used to migrate the program to another computer, see Moving to another computer.
This is a useful way to show what frequencies you may operate on. Currently, there is only information for U.S. amateur bands and license classes. This dialogue consists of 3 list boxes, a display area, and a couple of buttons. When it comes up, you are in the first of 3 list boxes, the band box. If your radio is on and tuned to a ham band, that band is selected. The second box is used to select the license class. Initially the license class you specified for the current operator is used. The third box selects the mode. This will be set to CW or phone, depending upon the mode setting of your radio. You may alter these selections if you choose.
When you press the Show button, or just hit enter, you are taken to the display area which shows the results. The first line will show the entire band, (e.g.) "20m 14000 14350". If I'm on 20 meter CW, the second line will show,
extra - 14000 14150 - CW RTTY/Data
If I now select "none" for the license, I am shown all the 20 meter band restrictions for the different license classes.
This item allows you to add, update, or delete any CW messages you have created. If you select this item you'll see a list of your CW messages. You can add a new message, update the selected one, delete the selected one, or exit with the escape key.
Note: The VOX, or CW breakin, must be on in order to send a CW message. If you just want to test a message, you'll need to set the transmit power to 0.
CW messages are on a per operator basis. Each operator has a unique set of CW messages.
A CW message consists of a label, a key assignment, and the text to send.
The text to send may contain substitution items consisting of an ampersand (&) followed by a single character. The character is case sensative. For example, &C (uppercase c) will add your call sign to the message. Thus if the text is "de &C", and your call is KE5AL, the assigned key will send "de KE5AL".
Also, the text of a CW message will have a space added at the end if there isn't already one. Therefore, a CW message can't be used as part of a word.
The current substitutions are:
Change key mapping brings up a dialogue allowing you to change the key mappings. When the dialogue comes up, you are in a list of items, each of which has a check box. With an item selected, you may press Tab to get to a field where you can press the new key sequence for the associated function. If you have now duplicated another definition, both items are checked.
Thus the check boxes let you know where the duplicate key definitions are so you can correct one or both. For example, if I change the key for Call from alt-C to alt-L, I am brought back to the list and now the current item is checked, along with the "alt-L Bring up Log Form" item. I should either change one of these, or hit escape to cancel my changes.
If you want to inactivate a key definition, (i.e.) assign it to no key, use the Delete key for the new key sequence.
Note that when assigning key sequences, you should avoid the Alt key sequences that conflict with menu access keys. These are currently Alt-A, Actions menu; Alt-F, Screen Fields menu; and Alt-H, Help menu.
As the name implies, this restores the original key mapping.
Some messages allow you to elect not to see that message again. If you want to reset this behavior, (i.e.) see the messages, use this item. Note that it is not possible to selectively enable such messages.
I found that while operating I would get in a QSO and not touch the computer for a period of time. It was annoying to have my screen saver come up in the middle of a QSO, because my screen saver starts up work items using the Worldwide Grid. When JJFlexRadio is started, if your screen saver is active, it is disabled. It is re-enabled on exit. You can use this item to enable it while the program is running.
This exits JJFlexRadio. Alt-F4 also works. If you have an incomplete log entry, you are asked if you want to write it. Remember, log entries are only written when you use the key sequence for that, ctrl-W by default.
Most of the fields on the main screen are rig dependent fields. This menu allows you to easily navigate to those fields without having to hit the tab key several times to get where you want to go. For example, if in CW mode, and you want to change the keyer speed, hit Alt-F to go to the Screen Fields menu, then hit "s", and you'll go to the speed field. Note that like other menus, if more than one field has the same access key, you're positioned in the menu at the first such field.
The fields shown are mode dependent, so, for example, if the mode is USB the keyer speed won't show up.
This menu simply allows you to access program operations, normally accessed with a key sequence, from a menu. It's chief advantage is that, if you forget a key sequence, you can use the function without having to look it up. For example, if you forget that Ctrl-F is used for direct frequency entry, you can use the Operations menu to find the "Frequency" item.
This menu is also useful for commands which have no associated key sequence. The Operations menu is the only way to access these. Some items to note are:
This menu has these items:
This brings up this help page.
This brings up the list of key assignments. This list may also be shown with the F1 key.
This dialogue allows you to start an execution trace. You should only do this if directed to for the purpose of providing debug information to fix a problem. It allows you to specify a file to receive the trace and to set the trace detail level.
This shows information about JJFlexRadio.
JJFlexRadio provides two types of scanning, linear and memory. Linear scanning is used to scan a linear region of memory, while the memory scanning allows you to scan through your radio's memories.
JJFlexRadio provides a primative scanning feature that allows you to scan between a start and end frequency. By default, it is access with ctrl-S. You can specify the scan step size, in KHZ, and the scan speed. The speed is the number of tenths of a second to spend on each frequency. Thus to scan from 7.2 to 7.299 in steps of 1 KHZ, spending half a second on each frequency, you'd specify 7.2, 7.299, 1, and 5 (5 tenths of a second).
While scanning, if you hear something you want to investigate, pressing the "Pause scan" key will pause the scan, you may then investigate with the VFO, and then resume the scan where you left off, using the resume scan key. By default, the pause key is F2, and the resume key is Shift-F2. Stop the scan with ctrl-Z by default.
The status line shows the state of the scan, off, running, or paused.
You can also save your scan for later use. This is done from the dialogue where you entered the scan parameters. When saving a scan, you are asked to name the scan for future reference. There is a function to list and select the saved scans, ctrl-shift-U by default.
The memory scanning feature makes use of memory groups. There are two types of memory groups, those defined by the memories themselves, and memory groups you define yourself.
You may define your own memory groups which can include memories you choose, regardless of which group they're in according to your radio. For example, you might have setup group1 to be 10 meter repeaters, and group2 to be 6 meter repeters. You could define a group called Repeaters that includes all those repeaters. Of course, when doing a scan, you could simply select both group1 and group2 also.
By default the key sequence to perform a memory scan is Ctrl-Shift-M. You are then given a list of the memory groups. When you select a memory group, the memories belonging to that group are displayed in the list to the right of the group list. However, in order to include a memory group in a scan, you must check the corresponding check box.
To start a scan, you then tab to the speed field and provide the scan speed in tenths of a second, (e.g.) 10 will spend 1 second on each memory. You then press the start scan button.
Following the start scan button is a button labeled "Manage Groups". This brings up a dialogue you can use to update or create a group you've defined. You can not change the memory groups defined by your radio here. Those must be changed using the memory dialogue.
As far as I know, JJRadio and JJFlexRadio are the only programs to support a braille pan adapter. The Flex radios provide third party software access to the panadapter information straight from the radio. You can jump to the display with the Band Pan Actions menu item or the key sequence, ctrl-P by default. The display shows the relative signal strengths for the corresponding frequencies. It is intended for use with a braille display. The signal strengths are shown using the braille characters 'a' through 'Z' in lower and upper case, where lowercase 'a' is the noise floor, and uppercase 'Z' is a strong signal. The routing keys will take you to the corresponding frequency.
Below the pan display are the following fields:
Here is some sample pan output:
aababbbcaAGaaabadabbbRPaabbbcdbbpmaaagaa Pan Low: 14.000.000 Pan High: 14.040.000 Change Save Erase
Note that this is a 40 cell display, so each cell corresponds to 1 KHZ. Thus the display shows the strongest signals around 14010 and 14022. Note that the "a" character indicates the noise floor.
When you start JJFlexRadio for the first time, the pan range is selected for the band you're using. For example, the initial low and high values for 20 meters will be 14.000 and 14.350.
Let's say you want to create two ranges on 20 meters, 14.000 to 14.080 and 14.150 to 14.350. To create the first range, leave Pan Low at 14.000, and set Pan High to 14.080. Then press Change. Note that at this point the pan display will pan over the new range. Press the Save button to save the range. For the second region, set Pan Low to 14.150 and Pan High to 14.350. Then press Change and Save. Now if your frequency is in one of these ranges, the pan display will show the corresponding region. Note that if you move out of the ranges, let's say to 14.110, panning will be from 14.000 to 14.350.
Your custom ranges are saved for the current operator. Thus different operators can create their own ranges.
It is possible to use the Flex radios running Version 2 of the SmartSDR software remotely, over the WAN, (i.e.) over the internet. This is discussed earlier in the section entitled the Rig Selector.
Note however, that if you log into a radio over the internet, PC audio is on by default. This is because you will almost certainly not be sitting in front of the rig, and need to use PC audio instead of plugged in speakers.
This allows you to use DX clusters which have a telnet interface. By default, the key assigned is Ctrl-Alt-D, or use the "DX cluster" item from the Operations menu.
Before using this function for the first time, you may want to see if the current operator has defined a cluster address and login name. This is done by selecting "List Operators" from the Actions menu, and updating the currently checked user. The Cluster address defaults to dxc.nc7j.net. The cluster address may contain a port number, delimited with a colon, in which case you specify it as address:port. For example, dxc.nc7j.net is the same as dxc.nc7j.net:23; 23 is the default telnet port. The login name will default to the callsign of the operator when the operator is created or updated. You will almost always login using your callsign. For one list of telnet available clusters, see Telnet Access to DX Packet Clusters. There are other lists as well.
When you use this function you will be asked to enter the cluster address and the login name. This will be the cluster address and login name, callsign, for the current operator if set. When in this dialogue, you can tab past the OK and Cancel buttons, and check the box to not see this again, and then click the OK button. If you do this, when you subsequently bring up the cluster, you won't be prompted for the login name. Thus if you wish to use multiple clusters, you may not want to check this box. JJFlexRadio allows you to have multiple cluster windows open, so checking the box will mean you'll always open a window on the same cluster.
If the login was successful, a separate window will come up showing text from when we connected to the present; basically the login banner stuff. Then the DX spots appear. If you haven't set a filter, you'll be inundated with spots, primarily from skimmers. The NC7J cluster, an AR-Cluster, has good documentation starting at the AR-Cluster Introduction page. The DXSpider cluster documentation is at the DXSpider Documentation Wiki.
If you press tab once you'll land in the "Cluster cmd" field. In this field you can enter a command to the cluster. For the NC7J cluster, and other AR-Clusters, you might immediately want to enter the command "set dx filter not skimmer", without the quotes of course. This will turn off the skimmer spots. I encourage you to read up on the clustr commands. They allow you to filter the cluster output, set your login information, such as your name, lat/long, grid square, etc, and other functions.
At the bottom of the screen are two buttons. The first is the "Beep on/off" button. The text for the button shows the action to be performed. Since the button is initially off, the button is labeled "Beep on". Turning beeps on causes a beep every time output is sent to the screen. The next push is for Beep on DX. This, my preferred setting, causes a beep only when a new spot is reported. Also, the setting you choose, on, off, or beep on dx, is remembered so you don't need to set it every time you use the cluster.
Next is a button initially labeled "Track last post Off"; it will be Off or On. If you press it, turning tracking on, the cursor is routed to the last displayed screen item, instead of staying in one spot. This is quite useful if you don't have a lot of spots coming in, and always want to read the most recent post. This setting is also remembered.
You may simply close the cluster window to log off the cluster. Of course you are logged off if you close JJFlexRadio also.
The reason I developed this interface as opposed to simply using a telnet client, is that I can either maintain your current cursor position in the output while new information is being added at the bottom of the window, or always set the cursor to the last item added. If maintaining position, even if the window would normally scroll, your cursor position is preserved. This gives you a chance to read the output with speech or braille, before moving on. To navigate to the bottom of the output, (i.e.) to the most recent entry, use Ctrl-End. Ctrl-Home takes you to the top of the window. As usual, you move up and down a line at a time with the up and down arrows.
The format of a displayed spot is usually frequency, callsign, comments, timestamp, and reporting callsign.
For example,
14020.1 EA1AA good sig 2149Z KE5AL
This says that the station, EA1AA, is on 14020.1 khz, reported by KE5AL at 2149Z. KE5AL says he has a good signal.
With your cursor on that line, if you press enter, your radio, if being controled by JJFlexRadio, will go to that frequency, 14020.1. Also, the call, EA1AA, will be in the windows clipboard, so it can be copied into the log.
It may be desirable to use an external wattmeter to read the power or SWR. This is especially true if using an amplifier. At present, JJFlexRadio only supports the Elecraft W2 wattmeter. The W2 allows the meter to be read over a virtual com port. This document assumes the W2 is already setup.
The power or SWR is shown in the s-meter field when in transmit.
To start using the W2, select the W2 Wattmeter item from the Actions Menu. The appropriate com port must then be selected.
The next item is either "useifopen" or "dontuse". If "dontuse" is selected, the power is gotten from the rig.
The final item is "average", "pep", or "swr",depending upon the reading you want.
The power or SWR will show up instead of the s-meter reading when you transmit, whether it comes from the wattmeter or the rig, however the SWR only shows up in this field if it comes from the wattmeter.
Important! The Elecraft W2 software must not be running.
Flex Radio Systems sells an external control knob known as the FlexControl knob. The knob contains a tuning knob, and 3 push buttons, left, center and right. The tuning knob and each button may be pressed once, twice quickly, or held for over a second, for a total of three functions which may be assigned to each one. In addition, the tuning knob can be rotated like a VFO knob.
To configure the device, select the "Flex Knob Config" item from the Actions menu. You must select the com port for the device. This can be found using the Windows Device Manager. You may then configure additional keys or change the ones setup by default. The defaults are:
If you have previously used the knob, you may want to change the configuration to reflect this. The previous value for "Left button, double press"" was to disable the knob.
Let's say, for example, you wish to use a long press of the left button to disable/enable the knob. This is currently done with a double press on the left button.
With the exception of the logging commands, all JJFlexRadio commands must be entered from the main screen. You may change the key assignments as discussed in Change Key Mapping in the Actions Menu section. The logging commands are discussed in somewhat more detail in the section on logging.
Any CW message keys you've defined will show up after these keys.
This is a two-step process. The first step is to export your current setup using the "Export Setup" Actions menu item. This brings up a dialogue where you provide a file to export your setup into. This is a .zip archive. You might want to put this on removable media or the cloud, so you can access it to import your setup onto another computer.
The second step is to import your setup into a just-installed version of the program. When you bring JJFlexRadio up for the first time on another computer, you'll see the Welcome screen. One of the options is to import a previously saved configuration. This will likely be the .zip file you saved.
If you need support for JJFlexRadio, You can send an email to the support link on the JJFlexRadio web page.
This is the initial release of this program.